//package com.ssfeng.youxia.dao.impl;
//
//import com.ssfeng.youxia.controller.LoginController;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Repository;
//
//import redis.clients.jedis.Jedis;
//import redis.clients.jedis.JedisPool;
//import redis.clients.jedis.exceptions.JedisConnectionException;
//
//@Repository("redisDao")
//public class RedisDao {
//
//	private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
//
//	private JedisPool jedisPool;
//
//	public Jedis getJedis() {
//		Jedis jedis = null;
//		try {
//			jedis = getJedisPool().getResource();
//			return jedis;
//		} catch (JedisConnectionException e) {
//			String message = org.apache.commons.lang3.StringUtils.trim(e.getMessage());
//			if ("Could not get a resource from the pool".equalsIgnoreCase(message)) {
//				System.out.println("++++++++++请检查你的redis服务++++++++");
//				System.out.println("|①.请检查是否安装redis服务，如果没安装，Windos 请参考Blog：http://www.sojson.com/blog/110.html|");
//				System.out.println(
//						"|②.请检查redis 服务是否启动。启动口诀[安装目录中的redis-server.exe，双击即可，如果有错误，请用CMD方式启动，怎么启动百度，或者加QQ群。]|");
//				System.out.println(
//						"|③.请检查redis启动是否带配置文件启动，也就是是否有密码，是否端口有变化（默认6379）。解决方案，参考第二点。如果需要配置密码和改变端口，请修改spring-cache.xml配置。|");
//				System.out.println("|PS.如果对Redis表示排斥，请使用Ehcache版本：http://www.sojson.com/jc_shiro_ssm_ehcache.html");
//				System.exit(0);// 停止项目
//			}
//			logger.error("",e);
//			throw new JedisConnectionException(e);
//		}
//	}
//
//	public void returnResource(Jedis jedis) {
//		if (jedis == null) {
//			return;
//		}
//		jedis.close();
//	}
//
//	public String getValueByKey(int dbIndex, String key) {
//		Jedis jedis = getJedis();
//		String value = null;
//		try {
//			jedis.select(dbIndex);
//			value = jedis.get(key);
//		} catch (Exception e) {
//			e.printStackTrace();
//			logger.error("",e);
//		} finally {
//			returnResource(jedis);
//		}
//		return value;
//	}
//
//	public byte[] getValueByKey(int dbIndex, byte[] key) {
//		Jedis jedis = getJedis();
//		byte[] value = null;
//		try {
//			jedis.select(dbIndex);
//			value = jedis.get(key);
//		} catch (Exception e) {
//			e.printStackTrace();
//			logger.error("",e);
//		} finally {
//			returnResource(jedis);
//		}
//		return value;
//	}
//
//	public Long deleteByKey(int dbIndex, String key) {
//		Jedis jedis = getJedis();
//		Long id = null;
//		try {
//			jedis.select(dbIndex);
//			id = jedis.del(key);
//		} catch (Exception e) {
//			e.printStackTrace();
//			logger.error("",e);
//		} finally {
//			returnResource(jedis);
//		}
//		return id;
//	}
//
//	public Long deleteByKey(int dbIndex, byte[] key) {
//		Jedis jedis = getJedis();
//		Long id = null;
//		try {
//			jedis.select(dbIndex);
//			id = jedis.del(key);
//		} catch (Exception e) {
//			e.printStackTrace();
//			logger.error("",e);
//		} finally {
//			returnResource(jedis);
//		}
//		return id;
//	}
//
//	public String saveValueByKey(int dbIndex, String key, String value, Integer expireTime) {
//		String id = null;
//		Jedis jedis = getJedis();
//		try {
//			jedis.select(dbIndex);
//			id = jedis.set(key, value);
//			if (expireTime != null) {
//				jedis.expire(key, expireTime);
//			}
//		} catch (Exception e) {
//			e.printStackTrace();
//			logger.error("",e);
//		} finally {
//			returnResource(jedis);
//		}
//		return id;
//	}
//
//	public String saveValueByKey(int dbIndex, byte[] key, byte[] value, Integer expireTime) {
//		Jedis jedis = getJedis();
//		String id = null;
//		try {
//			jedis.select(dbIndex);
//			id = jedis.set(key, value);
//		} catch (Exception e) {
//			e.printStackTrace();
//			logger.error("",e);
//		} finally {
//			returnResource(jedis);
//		}
//		return id;
//	}
//
//	public JedisPool getJedisPool() {
//		return jedisPool;
//	}
//
//	@Autowired
//	public void setJedisPool(JedisPool jedisPool) {
//		this.jedisPool = jedisPool;
//	}
//
//}
